Julia no Mercado de Trabalho
Como a linguagem Julia, comumente vista no meio acadêmico, é utilizada pelas grandes empresas no mercado de trabalho?
Você, seja estudante, profissional formado ou simplesmente alguém curioso sobre a linguagem Julia, talvez já tenha se perguntado: qual é a relação entre Julia e o mercado de trabalho? Será que ela é amplamente usada? É mais eficiente que outras linguagens? Quais são suas principais diferenças e, não menos importante, por que uma empresa optaria (ou não) por adotá-la em seus projetos?
Neste blog, vou abordar todas essas questões e ajudar você a entender melhor o papel da Julia no mundo profissional. Então, vem comigo e segue o fio!
Uso de Julia no mercado de trabalho
Sabemos que Julia ainda não é tão popular quanto outras linguagens como Python, R ou Java. Isso, pode levarmos a pensar que, talvez, Julia é apenas utilizada no meio acadêmico, mas, não se engane: Julia já está mais presente no mercado de trabalho do que você imagina!
Por ser uma linguagem de alto nível, projetada especialmente para cálculos científicos e computacionais de grande porte e alta complexidade, algumas empresas fazem questão de incluí-la em seu portfólio tecnológico.
Quer alguns exemplos? Aqui embaixo deixo uma lista de algumas empresas/instituições do mercado que você com certeza conhece e, acredite ou não, elas utilizam bastante da linguagem Julia no seu cotidiano!
Google: a linguagem Julia roda em seus TPU’s (chips feitos especificamente para fins de Machine Learning) devido à um projeto chamado “XLA.jl”. Por conta disso, os desenvolvedores da Google podem escrever rápidos códigos de machine learning que rodam dentro do hardware da própria Google, sem a necessidade de alternar entre linguagens.
NASA: pense bem, você precisa de uma linguagem que modele diversas questões físicas como a gravidade entre planetas, rotas para satélites e espaçonaves, simular órbitas… e você precisa que todos estes cálculos extremamente complexos sejam feitos rápidos e com precisão. Qual linguagem, que é rápida como C++ ou Fortran, mas que é fácil de escrever e de alterar, você utilizaria? Julia, claro! Além disso, por meio do pacote Oceananigans.jl, a NASA simula o comportamento físico dos oceanos com alta precisão e velocidade.
Pfizer: por meio de modelos farmacêuticos, a Pfizer consegue acelerar simulações que antes demoravam dias, até semanas; simular metabolismo e absorção de substâncias no organismo, entre muitos outros. É por meio da plataforma Pumas.jl que a empresa consegue fazer todas as simulações que permitem rápidas tomadas de decisões à respeito de seus experimentos.
IBM: a linguagem é muito útil para a IBM dado que tratam muito de séries temporais, IA e machine learning, logo, se torna necessário o uso de uma linguagem que facilite a criação de pipelines para esses processos, e Julia faz justamente isso. Automatizações de fluxo de trabalho de machine learning, especialmente quando os dados variam com o tempo é algo feito pela linguagem, especialmente pelas plataformas produzidas pela empresa, como o TSLM.jl e o AutoMLPipeline.jl.
Renault: a linguagem Julia foi utilizada para resolver um problema logístico: planejar rotas e estoques em toda a Europa para recolher embalagens reutilizáveis. Via métodos tradicionais, as soluções eram lentas e ineficazes, então a empresa implementou um algoritmo em Julia que otimizou todo o processo e reduziu custos logísticos.
Alguma dessas empresas te surpreendeu? Você pode encontrar mais empresas que utilizam a linguagem e também casos de estudos em que aplicaram Julia no seguinte link: https://info.juliahub.com/industries/case-studies
Ferramentas de IA foram utilizadas para correção ortográfica, aprimoramento do texto e criação de imagens.
Referências
Nasa: Julia Programming Language Benchmark Using a Flight Simulation; Here’s how NASA is using Julia to better understand the ocean
Renault: Solving a Continent-Scale Inventory Routing Problem at Renault
Pfizer: Pfizer uses Julia to accelerate simulations of new therapies for metabolic diseases up to 175x;
IBM: Designing Machine Learning Pipeline Toolkit for AutoML Surrogate Modeling Optimization